package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LineCodeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 调票申请表(车站)
 *
 * @author zdkj code generator
 * @date 2020-05-25 10:42:55
 */
@Data
@TableName("sw_st_cycle_apply")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "调票申请表")
public class SwStCycleApply extends BaseEntity<SwStCycleApply> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    @ExcelIgnore
    private Integer id;
    /**
     * 申请部门ID
     */
    @ApiModelProperty(value = "申请部门ID")
    @ExcelIgnore
    private String applyDeptId;
    /**
     * 调票记录表id
     */
    @ApiModelProperty(value = "调票记录表id")
    @ExcelIgnore
    private Integer cycleId;
    /**
     * 票种
     */
    @ApiModelProperty(value = "票种CODE")
    @ExcelIgnore
    private String ticketType;
    /**
     * 车票名称
     */
    @ApiModelProperty(value = "车票名称CODE")
    @ExcelIgnore
    private String ticketTypeParam;
    /**
     * 次数
     */
    @ApiModelProperty(value = "次数")
    @ExcelProperty
    private Integer ticketNumber;
    /**
     * 金额
     */
    @ApiModelProperty(value = "金额")
    private BigDecimal ticketMoney;
    /**
     * 调票数量
     */
    @ApiModelProperty(value = "调票数量")
    private Integer cycleNumber;
    /**
     * 申请站点
     */
    @ApiModelProperty(value = "申请站点")
    private String applyStation;
    /**
     * 申请线路
     */
    @ApiModelProperty(value = "申请线路")
    private String applyLine;    /**
     * 调出线路
     */
    @ApiModelProperty(value = "调出线路")
    private String outLineCode;
    /**
     * 调出站点
     */
    @ApiModelProperty(value = "调出站点")
    private String outStationCode;
    /**
     * 调票原因
     */
    @ApiModelProperty(value = "调票原因")
    private String cycleCase;
    /**
     * 申请时间
     */
    @ApiModelProperty(value = "申请时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime applyTime;
    /**
     * 审批人
     */
    @ApiModelProperty(value = "审批人")
    private String makePerson;
    /**
     * 审批人工号
     */
    @ApiModelProperty(value = "审批人工号")
    private String makePersonCode;
    /**
     * 审批时间
     */
    @ApiModelProperty(value = "审批时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime makeTime;
    /**
     * 审批状态
     */
    @ApiModelProperty(value = "审批状态")
    private String reviewStatus;
    /**
     * 办理状态
     */
    @ApiModelProperty(value = "办理状态")
    private String handleStatus;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}
